Systems and methods for playback responsive advertisements and purchase transactions

ABSTRACT

In a method for displaying tailored advertising in response to user media playback behavior, an ad engine detects media playback by a user. The ad engine retrieves an advertisement rule associated with the user. Following retrieval of the advertisement rule, the ad engine analyzes the content associated with the media playback and queues user tailored advertisements based on the analyzed content and the advertisement rule. The ad engine then displays an advertisement in response to detecting a pause in the media playback in a content provider-based software application.

FIELD OF THE INVENTION

The field of the invention is interactive media playback.

BACKGROUND

Conventional advertisements play at prearranged commercial breaks andare severely limited in their interactivity. Content from streamingwebsites often contains at least one advertisement break when one ormore advertisements are played back. Often, these advertisements repeatas conventional systems fail to tailor the advertisements to theparticular user viewing the advertisement. Further, the advertisementsin conventional streaming content have limited interactive elements,including, for example, skipping an advertisement or clicking ahyperlink to take you to a separate website.

U.S. Patent Application Publication No. 2008/0282285 to Thomas disclosesa method of substituting pause-time content in place of media that ispaused. Among other things, Thomas does not disclose analyzing the mediacontent and user data to queue advertisements to over-the-top (OTT)internet signals. Additionally, Thomas does not contemplate the use ofinteractive advertisements that can work with a single user device orcooperatively with multiple user devices to receive user input andexecute transactions directly from the interactive advertisement.

U.S. Patent Application Pub. No. 2004/0034874 A1 to Hord disclosesadvertisement playback during trick mode functionality. However, Horddoes not disclose the delivery of interactive advertisements. Further,Hord does not disclose the queuing of advertisements prior toadvertisement playback based on user data, media data, and advertisementdata.

Similarly to Hord, U.S. Patent Application Pub. No. 2007/0162951 A1 toRashkovskly discloses advertisement playback during paused content.However, Rashkovskly does not disclose the delivery of interactiveadvertisements. As with Hord, Rashkovskly also does not disclose thequeuing of advertisements prior to advertisement playback based on userdata, media data, and advertisement data.

U.S. Pat. No. 8,775,256 to Rosenberg discloses a hardware implementationof pause ads and content delivery. Rosenberg integrates advertisementdelivery into a piece of hardware (e.g., a set top box/device), andadvertisements are served to that device and displayed from that device.However, Rosenberg does not contemplate the delivery of conventionaland/or interactive advertisements through software-based mediums,including, for example, audio delivery applications, long form contentapplications, and gaming applications.

Thomas, Hord, Rashkovskly, Rosenberg, and all other extrinsic materialsdiscussed herein are incorporated by reference to the same extent as ifeach individual extrinsic material was specifically and individuallyindicated to be incorporated by reference. Where a definition or use ofa term in an incorporated reference is inconsistent or contrary to thedefinition of that term provided herein, the definition of that termprovided herein applies and the definition of that term in the referencedoes not apply.

Conventional advertisement systems can be improved by using user data,media data, and advertisement data to select one or more advertisementsfor playback during a partial or complete pause in media playback. Byusing a wider array of data to make advertisement playback decisions,the present invention is an improvement over the prior art because itallows highly user and media-relevant advertisements to be played backduring a partial or complete pause in media playback.

Thus, there is still a need for systems and methods for improvingadvertisement playback based on user data, media data, and advertisementdata.

SUMMARY OF THE INVENTION

Among other things, the inventive subject matter provides apparatus,systems, and methods for displaying tailored advertising in response touser media playback behavior.

The inventive concept herein can be employed in a variety ofapplications, including, for example, long and short form video content,video game-based software content, and long and short form audiocontent. Conventional advertisement delivery systems do not contemplatethe delivery of interactive advertisements to any device throughsoftware applications during pauses in content playback or interaction(e.g., pauses in playing video games). As such, the claimed inventionimproves upon the conventional advertisement delivery systems byenabling interactive advertisement delivery to software applications,which allows advertisement delivery to any software through any type ofmedia playback device.

Various resources, features, aspects and advantages of the inventivesubject matter will become more apparent from the following detaileddescription of preferred embodiments, along with the accompanyingdrawing figures in which like numerals represent like components.

The present invention advantageously allows advertisements to playbackwhen media content is partially or completely paused.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrative a distributed dataprocessing environment.

FIG. 2 is a schematic of a method of using user data to determine anadvertisement policy for a user.

FIG. 3 is a schematic of a method of compiling and initiating playbackof advertisements in response to a media playback action.

FIG. 4 is a schematic of a method of executing a transaction via a mediaplayback action initiated interactive advertisement.

DETAILED DESCRIPTION

In some embodiments, the numbers expressing quantities of ingredients,properties such as concentration, reaction conditions, and so forth,used to describe and claim certain embodiments of the invention are tobe understood as being modified in some instances by the term “about.”Accordingly, in some embodiments, the numerical parameters set forth inthe written description and attached claims are approximations that canvary depending upon the desired properties sought to be obtained by aparticular embodiment. In some embodiments, the numerical parametersshould be construed in light of the number of reported significantdigits and by applying ordinary rounding techniques. Notwithstandingthat the numerical ranges and parameters setting forth the broad scopeof some embodiments of the invention are approximations, the numericalvalues set forth in the specific examples are reported as precisely aspracticable. The numerical values presented in some embodiments of theinvention may contain certain errors necessarily resulting from thestandard deviation found in their respective testing measurements.

As used in the description herein and throughout the claims that follow,the meaning of “a,” “an,” and “the” includes plural reference unless thecontext clearly dictates otherwise. Also, as used in the descriptionherein, the meaning of “in” includes “in” and “on” unless the contextclearly dictates otherwise.

Unless the context dictates the contrary, all ranges set forth hereinshould be interpreted as being inclusive of their endpoints, andopen-ended ranges should be interpreted to include only commerciallypractical values. Similarly, all lists of values should be considered asinclusive of intermediate values unless the context indicates thecontrary.

The recitation of ranges of values herein is merely intended to serve asa shorthand method of referring individually to each separate valuefalling within the range. Unless otherwise indicated herein, eachindividual value with a range is incorporated into the specification asif it were individually recited herein. All methods described herein canbe performed in any suitable order unless otherwise indicated herein orotherwise clearly contradicted by context. The use of any and allexamples, or exemplary language (e.g. “such as”) provided with respectto certain embodiments herein is intended merely to better illuminatethe invention and does not pose a limitation on the scope of theinvention otherwise claimed. No language in the specification should beconstrued as indicating any non-claimed element essential to thepractice of the invention.

Groupings of alternative elements or embodiments of the inventiondisclosed herein are not to be construed as limitations. Each groupmember can be referred to and claimed individually or in any combinationwith other members of the group or other elements found herein. One ormore members of a group can be included in, or deleted from, a group forreasons of convenience and/or patentability. When any such inclusion ordeletion occurs, the specification is herein deemed to contain the groupas modified thus fulfilling the written description of all Markushgroups used in the appended claims.

The following discussion provides many example embodiments of theinventive subject matter. Although each embodiment represents a singlecombination of inventive elements, the inventive subject matter isconsidered to include all possible combinations of the disclosedelements. Thus if one embodiment comprises elements A, B, and C, and asecond embodiment comprises elements B and D, then the inventive subjectmatter is also considered to include other remaining combinations of A,B, C, or D, even if not explicitly disclosed.

As used herein, and unless the context dictates otherwise, the term“coupled to” is intended to include both direct coupling (in which twoelements that are coupled to each other contact each other) and indirectcoupling (in which at least one additional element is located betweenthe two elements). Therefore, the terms “coupled to” and “coupled with”are used synonymously.

FIG. 1 is a functional block diagram illustrative a distributed dataprocessing environment.

As used herein, the term “distributed” describes a computer system thatincludes multiple, physically distinct devices that operate together asa single computer system. FIG. 1 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made by those skilledin the art without departing from the scope of the invention as recitedby the claims.

Distributed data processing environment 100 includes user device 104 andserver computer 108, interconnected over network 102. Network 102 caninclude, for example, a telecommunications network, a local area network(LAN), a wide area network (WAN), such as the Internet, or a combinationof the three, and can include wired, wireless, or fiber opticconnections. Network 102 can include one or more wired and/or wirelessnetworks that are capable of receiving and transmitting data, voice,and/or video signals, including multimedia signals that include voice,data, and video information. In general, network 102 can be anycombination of connections and protocols that will supportcommunications between user device 104, server computer 108, and anyother computing devices (not shown) within distributed data processingenvironment 100.

It is contemplated that user device 104 can be any programmableelectronic computing device capable of communicating with variouscomponents and devices within distributed data processing environment100, via network 102. It is further contemplated that user device 104can execute machine readable program instructions and communicate withany devices capable of communication wirelessly and/or through a wiredconnection. For example, user device 104 can be any one or more of smartphones, desktop computers, tablet computers, laptops, and smart watches.It is contemplated that user device 104 also includes any one or morecommunicatively coupled peripheral electronic devices (e.g., computermice, keyboards, electronic sensors, communication devices, storagedevices, etc.). User device 104 includes an instance of ad interface106.

Ad interface 106 provides a user interface to ad engine 110. Preferably,ad interface 106 comprises a graphical user interface (GUI) or a webuser interface (WUI) that can display one or more of text, documents,web browser windows, user option, application interfaces, andoperational instructions. It is also contemplated that the ad interfacecan include information, such as, for example, graphics, texts, andsounds that a program presents to a user and the control sequences thatallow a user to control a program.

In some embodiments, user interface can be mobile application software.Mobile application software, or an “app,” is a computer program designedto run on smart phones, tablet computers, and any other mobile devices.

Ad interface 106 allows a user to register with and configure ad engine110 (discussed in more detail below) to enable ad engine 110 to trackuser activity and preferences and respond to user media playbackactions. It is contemplated that ad interface 106 allows a user toprovide any information to ad engine 110. For example, a user can inputauthentication, advertisement parameters, product purchases, userinformation, and any other information that is used by ad engine 110. Asused herein, “advertisement parameters” comprise any variable(s) thatcan directly or indirectly control how ad engine 110 executesadvertisements and receives user inputs.

Ad interface 106 is also contemplated to allow a user to complete anytype of transaction. For example, ad interface 106 can receive userpayment data and execute a financial transaction. In another example, adinterface 106 can receive user credentials to log-in to third-partyservices.

Server computer 108 can be a standalone computing device, a managementserver, a web server, a mobile computing device, or any other computingsystem capable of receiving, sending, and processing data.

It is contemplated that server computer 108 can include a servercomputing system that utilizes multiple computers as a server system,such as, for example, a cloud computing system.

In other embodiments, server computer 108 can be a computer systemutilizing clustered computers and components that act as a single poolof seamless resources when accessed within distributed data processingenvironment 100.

Ad engine 110 is depicted and described in more detail in FIG. 2, FIG.3, and FIG. 4.

Database 112 is a repository for data used by ad engine 110. In thedepicted embodiment, ad engine 110 resides on server computer 108.However, database 112 can reside anywhere within a distributed dataprocessing environment provided that ad engine 110 has access todatabase 112.

Data storage can be implemented with any type of data storage devicecapable of storing data and configuration files that can be accessed andutilized by server computer 108. Data storage devices can include, butare not limited to, database servers, hard disk drives, flash memory,and any combination thereof.

FIG. 2 is a schematic of a method of using user data to determine anadvertisement policy for a user.

Ad engine 110 identifies a user (step 202).

In one embodiment, ad engine 110 identifies a user based on a usercredential inputted through ad interface 106. User credentials caninclude any one or more identifying attributes of a user.

For example, ad engine 110 can identify a user through a user name andassociated alphanumeric password inputted through log-in process on aninternet-connected smart TV. In another example, ad engine 110 canidentify a user through an internet protocol (IP) address tied to adesktop computer. In yet another example, ad engine 110 can identify auser through biometric data inputted through a fingerprint reader on alaptop.

Biometric data can include, but is not limited to, fingerprints, retinalscans, image recognition, facial recognition, and speech recognition. Itis also contemplated that user device 104 can collect biometric datausing any combination of sensors. Sensors can include, but are notlimited to, infrared cameras, flood illuminators, proximity sensors,ambient light sensors, capacitive touch sensors, pressure-based touchsensors, and microphones.

In a related embodiment, ad engine 110 can use a combination of usercredentials to identify a user. For example, ad engine 110 can use acombination of a facial recognition scan and an IP address to identifythe user. In another example, ad engine 110 can use a combination of apin number and a fingerprint scan to identify the user.

However, it is contemplated that ad engine 110 can identify a user inany manner contemplated in the art.

Ad engine 110 receives user data (step 204).

It is contemplated that user data can be retrieved from local storageand/or remote storage. User data can include any data associated with auser, including, for example, purchasing behavior, media consumptionbehavior, media content data, geolocation data, and biometric data.

In one embodiment, ad engine 110 receives user data from database 112residing remotely on server computer 108. For example, ad engine 110 canreceive data regarding a user's viewing habits, shows watched, purchasehistory, and recent keyword searches from a solid-state drive (SSD)residing in a remote server through the Internet. In another example, adengine 110 can receive data regarding a user's viewing habits frommultiple databases in a distributed database system in a cloudenvironment.

Ad engine 110 determines an advertisement policy for the user based onthe user data (step 206).

An advertisement policy can comprise any one or more parameters thatguide ad engine 110 in the selection of advertisements for a user.

In one embodiment, ad engine 110 determines an advertisement policy fora user using one or more metrics associated with the user data. Forexample, ad engine 110 can use data regarding user screen time, mostwatched genres, and commonly purchased products/services to setparameters for advertisement selection. It is contemplated that theparameters can be set by one or more algorithms.

In some embodiments, ad engine 110 can determine an advertisement policyfor a user using one or more machine learning algorithms. Machinelearning algorithms can include, but are not limited to, linearregression analysis, supervised learning, time-series analysis, andneural networks.

For example, ad engine 110 can use a supervised learning classifier toidentify that the user frequently watches animated content directed to amid-20-year-old demographic. Ad engine 110 can further use a time-seriesanalysis to determine that the user consumes the most content betweenthe hours of 7:00 A.M-8:00 A.M. and 6:00 P.M.-10:00 PM. Ad engine 110can even further use a linear regression analysis to forecast that theuser is four times more likely to purchase products during the hours of8:00 P.M.-9:30 P.M. Based on this information, ad engine 110 candetermine a tailored advertisement policy for the user.

Ad engine 110 applies the advertisement policy for the user to availableadvertisements to select one or more advertisements (step 208).

It is contemplated that advertisements in any media format can be storedlocally and/or remotely. It is further contemplated that ad engine 110can classify the advertisement in any manner contemplated in the art.For example, an advertisement for a male body spray can be can beclassified under “30 second ad”, “20-30 years old”, “quirky humor”, and“interactive”. In another example, an advertisement for a high-endlaptop computer can be classified under “expensive”, “technology”, and“designer”.

Using these classifications, ad engine 110 can quickly target andretrieve relevant advertisements based on user viewing behaviors. Forexample, ad engine 110 can quickly select advertisements most relevantto a 23-year-old video game enthusiast by searching for ads under theclassifications “gamer”, “massively multiplayer online role-playinggame”, “alcohol”, and “animated”.

Similarly to step 206, ad engine 110 can use one or more machinelearning algorithms to classify advertisements and to select one or morerelevant advertisements. For example, ad engine 110 can use a supervisedlearning classifier to determine what type of advertisement contentreceives the most clicks and/or purchase orders from a user. Byanalyzing the historically successful ads, ad engine 110 can determinewhich advertisements contain content that is the most likely to elicit aclick and/or purchase order from the user.

Ad engine 110 compiles user relevant advertisements based on theadvertisement policy (step 210).

After applying the advertisement policy to select one or moreadvertisements, ad engine 110 compiles the advertisements for laterplayback. In some embodiments, ad engine 110 retrieves advertisementdata (e.g., audio and video files, etc.) and stored the advertisementdata in local memory for later playback. For example, ad engine 110 cancause user device 104 to pre-load advertisement content into randomaccess memory (RAM) for later playback during a user-initiated pause.

FIG. 3 is a schematic of a method of compiling and initiating playbackof advertisements in response to a media playback action.

Ad engine 110 detects user initiation of media playback (step 302).

In one embodiment, ad engine 110 detects the selection of a media filefor playback. For example, ad engine 110 can detect the selection of atelevision comedy from an over-the-top media streaming service. Inanother example, ad engine 110 can detect a user resuming playback ofpaused content.

In some embodiments, ad engine 110 detects user actions prior toinitiation of media playback. For example, ad engine 110 can detect avideo streaming device waking up from a sleep mode and detect whichshows the user scrolls over prior to making a final selection.

It is contemplated that detecting user actions prior to initiation ofmedia playback enables ad engine 110 to analyze and predict the type ofmedia content that the user will eventually select. For example, adengine 110 can detect that a user has scrolled over and read thesynopsis of three romantic comedies. Based on detected user behavior, adengine 110 can predict one or more media attributes of the finalselection, which can, for example, allow ad engine 110 to startcompiling relevant advertisements.

Ad engine 110 retrieves the advertisement policy (step 304).

In a preferred embodiment, ad engine 110 retrieves the advertisementpolicy from database 112 stored remotely in server computer 108.However, ad engine 110 can retrieve the advertisement policy from anyone or more storage mediums. For example, ad engine 110 can retrieve theadvertisement policy from a distributed database system (e.g., cloudstorage).

Ad engine 110 analyzes media attributes to filter one or moreadvertisements from available advertisements (step 306).

Media attributes include any objective and subjective characteristics ofthe media content itself. Objective characteristics can include, forexample, total playback time, listed actors/actresses, total number ofepisodes, and genres. Subjective characteristics can include, forexample, type of humor, tone, and pacing. However, the objective andsubjective characteristics listed herein are merely illustrative and arenot limited to the provided examples.

It is contemplated that ad engine 110 can use apply the advertisementpolicy to the analyzed media attributes to assist in determining whichadvertisements to run. In preferred embodiments, ad engine 110 uses theanalyzed media attributes to select advertisements. For example, adengine 110 can determine that a user selected video spans 2 hours and isassociated with the horror genre. Based on this information, ad engine110 can select advertisements with darker color tones, setadvertisements to run every 15 minutes, and set advertisement breaks toa length of 4 minutes per break.

Ad engine 110 queues advertisements based on the analyzed mediaattributes and the advertisement policy (step 308).

It is contemplated that ad engine 110 queues advertisements that are themost relevant to the user by applying the user-specific advertisementpolicy to the filtered advertisements based on analyzed mediaattributes.

For example, ad engine 110 can, based on the advertisement policy for auser, determine that advertisements associated with the classifiers“college-educated”, “male-oriented”, “liberal”, and “less than 30seconds long” are the most relevant to a 20-year-old college student. Adengine 110 can further determine that the user averages 4 pauses perhour for with an average pause-length of 3 minutes for long-form content(e.g., playback time of greater than one hour long). As a result, adengine 110 can select a group of 45 advertisements that are each lessthan 30 seconds long and directed to comedic themes from a pool ofadvertisements based on the analyzed media being a slapstick comedymovie that spans a length of 2 hours. Following this selection of 45advertisements, ad engine 110 can select 16 30-second-longadvertisements and schedule them in order of ascending relevance to theuser based on the advertisement policy (e.g., male, mid-twenties,college-educated) indicated by the advertisement policy. The queuedadvertisements can then playback in the designated order when the userpauses the movie.

In another example, ad engine 110 can select a group of 40advertisements that are each less than 30 seconds long and directed tofinancial topics from a pool of advertisements based on the analyzedmedia being a series of 10 fifteen-minute-long investment tutorialvideos. Following this selection of 40 advertisements, ad engine 110 canselect 20 thirty-second-long advertisements and schedule them in orderof ascending relevance to the user's demographics (e.g., female,high-income, doctor, home-owner, etc.) indicated by the advertisementpolicy.

Ad engine 110 detects a change in media playback (step 310).

In a preferred embodiment, ad engine 110 detects a user-initiated pausein media play back. For example, ad engine 110 can detect a “pause”command during playback of a movie in a streaming service. In anotherexample, ad engine 110 can detect a “pause” command from a verbal usercommand spoken into a microphone. In another example, ad engine 110 candetect a “pause” command from a user gesture using one or more imagerecognition techniques. However, it is contemplated that ad engine 110can detect a user-initiated pause in any manner contemplated in the art.

In another embodiment, ad engine 110 detects a pause in at least oneelement associated with media playback. Elements in a streaming video,for example, can include the audio track, the video file, and closedcaptioning overlays. However, elements can include any one or moreseparable components of any media format known in the art.

In one example, ad engine 110 can detect that a user muted the audiotrack but the video file continues to play. In this example, ad engine110 can play another audio file in place of the original audio track.

In a preferred example, ad engine 110 can detect that a user turned offthe display without pausing media playback. In response, ad engine 110can play advertisements tailored to non-video based media playback(e.g., radio commercials).

In yet another example, ad engine 110 can detect that a user turns offthe closed captions (i.e., subtitles). In response, ad engine 110 caninsert textual and/or graphical advertisements in the space that theclosed captions would normally occupy.

In interactive software applications, such as video games, ad engine 110can detect that a user pauses the game. In response, ad engine 110 caninsert an interactive advertisement in the video game, such as a video,an interactive ad, text, and any other advertising material. It iscontemplated that the advertisements can be sourced from any entity,including third-party entities. For example, ad engine 110 can deliveradvertisements that are not limited to purchases associated with thevideo game, but can also include non-interactive and interactiveadvertisements for third parties (e.g., an interactive advertisementallowing a user to order delivery from a food delivery service directlyin the video game).

Ad engine 110 initiates playback of a queued advertisement (step 312).

In a preferred embodiment, ad engine 110 initiates the playback of aqueued advertisement stored on a local storage media (e.g., internalhard drive, internal solid-state drive, random access memory, etc.). Forexample, ad engine 110 can detect a user-initiated pause in the playbackof a streaming comedy and cause playback of a humorous advertisementfrom a data buffer in RAM.

In another embodiment, ad engine 110 retrieves a queued advertisementfrom database 112 residing on server computer 108. For example, adengine 110 can retrieve actively begin retrieving data for anadvertisement into a buffer once ad engine 110 detects a pause in theplayback. While actively playing the advertisement to the user, adengine 110 can continue retrieving the remainder of the queuedadvertisement into the buffer.

Ad engine 110 can initiate playback of a queued advertisement over anybroadcast medium. In a preferred embodiment, ad engine 110 initiatesplayback through an over-the-top system. OTT systems can include any oneor more systems or elements of a larger system that use publiclyaccessible internet connections to deliver video streams. OTT systemsadvantageously allow digital content to be accessible by any devicesthat can access the internet and establish a connection with ad engine110. As such, an advertiser can create one version of an advertisementthat can be formatted and played across multiple different devices(e.g., a tablet, a phone, and a laptop) without the restrictions ofclosed systems and proprietary formats. For example, ad engine 110 caninitiate ad playback in an online streaming service that allows users toview the same advertisements through multiple internet connecteddevices, including, for example, smart phones, laptops, and tabletcomputers.

Further, ad engine 110 can deliver the advertisements in the form ofprogram instructions that allows advertisements to have interactiveelements. It is contemplated that interactive elements can allowadvertisements to receive new program instructions from a user. Forexample, when a user pauses a video on their smart phone, ad engine 110can initiate playback of an interactive advertisement that furtherallows the user to input an order for fast food delivery straightthrough an internet-connect television, smart phone, and/or tabletcomputer. The advertisement can further include additionalfunctionality, including, for example, a map showing the location ofyour delivery driver after a user places a food delivery order using anadvertisement user interface.

By allowing interactive advertisements to OTT video playbacktechnologies, the efficacy and functionalities of advertisements can begreatly enhanced and reach a far broader audience than traditionalclosed advertising systems, such as, for example, advertisementsdelivered through conventional television set-top boxes. Additionally,advertisement functionalities can be modified in substantially real-timeto allow for quick changes to advertisements based on changingadvertising variables. For example, ad engine 110 can allow a programmerto add facial recognition-based authentication to an advertisement whenfacial recognition technology is incorporated into a newly releasedsmart phone.

In some embodiments, ad engine 110 initiates playback over and internetprotocol television (IPTV) system. IPTV systems limit delivery ofadvertisements through ad engine 110 to a closed system. For example, adengine 110 can send advertisements over the internet to a set-top boxthat is owned and operated by an external entity.

FIG. 4 is a schematic of a method of executing a transaction via a mediaplayback action initiated interactive advertisement.

Ad engine 110 displays an interactive advertisement with a userinterface (step 402).

In a preferred embodiment, ad engine 110 displays an interactiveadvertisement stored on a local storage media (e.g., internal harddrive, internal solid-state drive, random access memory, etc.). Forexample, ad engine 110 can detect a user-initiated pause in the playbackof a streaming comedy and cause playback of an interactive advertisementthat includes a hyperlink to the website for the advertised product andan input field for a user to submit an email address for futurepromotional offers for the advertised product. In another example, adengine 110 can display an online music streaming service advertisementwith various input fields to directly facilitate the purchase of theadvertised product (e.g., signing up for a trial period, purchasing theproduct, etc.).

Ad engine 110 receives a transaction request via a user input associatedwith the advertisement (step 404).

In one embodiment, ad engine 110 can receive a transaction request via auser input to a device displaying the advertisement. For example, adengine 110 can receive a transaction request from a user inputtingpayment information into the advertisement interface on aninternet-enabled television (e.g., smart TV) and selecting a “confirmpurchase” button using a television remote.

In some embodiments, ad engine 110 can cooperate with separate userdevices with separate user interfaces to interact with theadvertisement. For example, ad engine 110 can display a quick-responsecode on an advertisement to allow a user to automatically be directed toa product's website. In another example, ad engine 110 can allow a userto input authentication for a purchase through an interactive ad througha smart phone.

It is further contemplated that user devices with unique interfaces canuse any means of receiving user input. For example, the user device canbe a smart phone with a fingerprint reader used to authenticate atransaction associated with an interactive advertisement. In anotherexample, the user device can be a smart phone with a depth sensingcamera used to authenticate a user based on the user's uniquecombination of facial features. In yet another example, a user devicecan be a smart watch that receives a password from the user toauthenticate a transaction.

Ad engine 110 executes a transaction (step 406).

It is contemplated that any transaction between a user and an entityassociated with an advertisement can be executed by ad engine 110.

In one embodiment, ad engine 110 executes a financial transactionbetween a product provider and a user/customer. For example, ad engine110 can authenticate payment details and shipping information for apizza to be delivered from a restaurant to a user's house.

In another embodiment, ad engine 110 can execute an exchange ofinformation between a user and a product/service provider. For example,ad engine 110 can send user information inputted into an advertisementinterface to a service provider to activate a one-month trial of a musicstreaming service.

Ad engine 110 causes a product and/or a service to be delivered to auser (step 408).

It is contemplated that ad engine 110 can cause a product and/or aservice to be delivered to a user in any manner known in the art. Forexample, ad engine 110 can cause a physical product to be shipped from awarehouse to the customer. In another example, ad engine 110 can deliverstreaming movies from a streaming video service after a user activatestheir account.

It should be noted that while the description discusses embodimentscomprising computer-based controllers, various alternativeconfigurations are also deemed suitable and may employ various computingdevices including servers, interfaces, systems, databases, engines,controllers, or other types of computing devices operating individuallyor collectively. One should appreciate the computing devices comprise aprocessor configured to execute software instructions stored on atangible, non-transitory computer readable storage medium (e.g., harddrive, solid state drive, RAM, flash, ROM, etc.). The softwareinstructions preferably configure the computing device to provide theroles, responsibilities, or other functionality as discussed below withrespect to the disclose apparatus. In especially preferred embodiments,the various servers, systems, databases, or interfaces exchange datausing standardized protocols or algorithms, possibly based on HTTP,HTTPS, AES, public-private key exchanges, web service APIs, knownfinancial transaction protocols, or other electronic informationexchanging methods. Data exchanges preferably are conducted over apacket-switched network, the Internet, LAN, WAN, VPN, or other type ofpacket switched network.

It should be apparent to those skilled in the art that many moremodifications besides those already described are possible withoutdeparting from the inventive concepts herein. The inventive subjectmatter, therefore, is not to be restricted except in the scope of theappended claims. Moreover, in interpreting both the specification andthe claims, all terms should be interpreted in the broadest possiblemanner consistent with the context. In particular, the terms “comprises”and “comprising” should be interpreted as referring to elements,components, or steps in a non-exclusive manner, indicating that thereferenced elements, components, or steps may be present, or utilized,or combined with other elements, components, or steps that are notexpressly referenced. Where the specification claims refers to at leastone of something selected from the group consisting of A, B, C . . . andN, the text should be interpreted as requiring only one element from thegroup, not A plus N, or B plus N, etc.

What is claimed is:
 1. A method for displaying tailored advertising inresponse to user media playback behavior, comprising: detecting mediaplayback by a user; retrieving an advertisement rule associated with theuser; analyzing content associated with the media playback; queueinguser tailored advertisements based on the analyzed content and theadvertisement rule; and displaying an advertisement in response todetecting a pause in the media playback.
 2. The method of claim 1,wherein the advertisement rule controls selection of advertisementsbased on a variable selected from the group consisting of: permittedbrands, permitted themes, advertisement length, advertisement content,advertisement format, seasonality, user advertisement preferences,derived user advertisement preferences, and technical specifications ofa playback device.
 3. The method of claim 1, wherein analyzing the mediacontent further comprises analyzing a media attribute selected from thegroup consisting of: total playback time, format, designated commercialbreaks, subject matter, themes, actors, production studios, and playbackpermissions.
 4. The method of claim 1, further comprising: verifying anidentity of the user; analyzing historical data associated with theidentity; creating the advertisement rule for the user; applying theadvertisement rule to a group of available advertisements; and compilingthe user-tailored advertisements based on the advertisement rule.
 5. Themethod of claim 1, wherein the advertisement is configured to receiveuser input via a user interface.
 6. The method of claim 5, furthercomprising: receiving a user purchase request associated with theadvertisement; executing the user purchase request; and causing one ormore of a product and a service to be delivered to the user.
 7. Themethod of claim 5, further comprising: receiving a user informationinput associated with the advertisement; and storing the userinformation.
 8. A method for displaying tailored advertising on a mediaplayer through a content provider-based software application,comprising: retrieving an advertisement rule associated with a user;analyzing content associated with the media player through the contentprovider-based software application; selecting one or moreadvertisements that are tailored to the user based on the analyzedcontent and the advertisement rule; and displaying the one or moreadvertisements on the media player through the content provider-basedsoftware application in response to receiving a pause command duringplayback of the content.
 9. The method of claim 8, wherein the contentcomprises one or more media files stored in a database.
 10. The methodof claim 8, wherein the one or more advertisements comprises one or moremedia files stored in a database.
 11. The method of claim 8, wherein thecontent is selected from the group consisting of: a television show, astreaming video, a movie, a video game, and an audio recording, whereinthe content comprises any one or more of short form content and longterm content.
 12. The method of claim 8, wherein the media playerthrough the content provider-based software application is selected fromthe group consisting of: a computer, a television, a tablet computer, asmart phone, a smart watch, a projector, and an audio playback device.